home *** CD-ROM | disk | FTP | other *** search
- <?xml version='1.0' encoding='EUC-KR' ?>
- <!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
- <?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
- <!-- English Revision: 1.2.2.9 -->
-
- <!--
- Copyright 2004 The Apache Software Foundation
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- -->
-
- <manualpage metafile="cgi.xml.meta">
- <parentdocument href="./">How-To / Tutorials</parentdocument>
-
- <title>╛╞╞──í ┼⌡┼Σ╕«╛≤: CGI╕ª ╗τ┐δ╟╤ ╡┐└√ ╞Σ└╠┴÷ ╗²╝║</title>
-
- <section id="intro">
- <title>╝╥░│</title>
-
- <related>
- <modulelist>
- <module>mod_alias</module>
- <module>mod_cgi</module>
- </modulelist>
-
- <directivelist>
- <directive module="mod_mime">AddHandler</directive>
- <directive module="core">Options</directive>
- <directive module="mod_alias">ScriptAlias</directive>
- </directivelist>
- </related>
-
- <p>CGI (Common Gateway Interface)┤┬ └Ñ╝¡╣÷░í ║╕┼δ CGI ╟┴╖╬▒╫╖Ñ
- ╚ñ└║ CGI ╜║┼⌐╕│╞«╢≤░φ ║╬╕ú┤┬, (└Ñ╞Σ└╠┴÷ │╗┐δ└╗ ╕╕╡σ┤┬) ┐▄║╬
- ╟┴╖╬▒╫╖Ñ░· ┼δ╜┼╟╧┤┬ ╣µ╣²└╗ ┴ñ└╟╟╤┤┘. └Ñ╗τ└╠╞«┐í╝¡ ╡┐└√└╬
- ╞Σ└╠┴÷╕ª ╕╕╡σ┤┬ ░í└σ ╚τ╟╧░φ ░ú┤▄╟╤ ╣µ╣²└╠┤┘. └╠ ╣«╝¡┤┬ ╛╞╞──í
- └Ñ╝¡╣÷┐í CGI╕ª ▒╕╝║╟╧┤┬ ╣µ╣²└╗ ╝╥░│╟╧░φ, CGI ╟┴╖╬▒╫╖Ñ└╗
- └█╝║╟╪║╗┤┘.</p>
- </section>
-
- <section id="configuring">
- <title>CGI╕ª ╟π┐δ╟╧╡╡╖╧ ╛╞╞──í ╝│┴ñ╟╧▒Γ</title>
-
- <p>CGI ╟┴╖╬▒╫╖Ñ└╠ ┐├╣┘╖╬ ╡┐└█╟╧╖┴╕Θ CGI ╜╟╟α└╠ ░í┤╔╟╧╡╡╖╧
- ╛╞╞──í╕ª ╝│┴ñ╟╪╛▀ ╟╤┤┘. ╝│┴ñ╟╧┤┬ ╣µ╣²└║ ┐⌐╖»░í┴÷┤┘.</p>
-
- <section id="scriptalias">
- <title>ScriptAlias</title>
-
- <p><directive module="mod_alias">ScriptAlias</directive>
- ┴÷╜├╛ε╕ª ╗τ┐δ╟╧╕Θ ╛╞╞──í┤┬ ╞»┴ñ ╡≡╖║┼Σ╕«╕ª CGI ╟┴╖╬▒╫╖Ñ┐δ└╕╖╬
- ╡╨┤┘. ╛╞╞──í┤┬ └╠ ╡≡╖║┼Σ╕«┐í └╓┤┬ ╕≡╡τ ╞─└╧└╠ CGI
- ╟┴╖╬▒╫╖Ñ└╠╢≤░φ ░í┴ñ╟╧┐⌐ ┼¼╢≤└╠╛≡╞«░í └┌┐°└╗ ┐Σ├╗╟╧╕Θ └┌┐°└╗
- ╜╟╟α╟╧╖┴░φ ╜├╡╡╟╤┤┘.</p>
-
- <p><directive module="mod_alias">ScriptAlias</directive>
- ┴÷╜├╛ε┤┬ ┤┘└╜░· ░░└╠ ╗τ┐δ╟╤┤┘.</p>
-
- <example>
- ScriptAlias /cgi-bin/ /usr/local/apache2/cgi-bin/
- </example>
-
- <p>└º ┐╣┴ª┤┬ ╛╞╞──í╕ª ▒Γ║╗ └σ╝╥┐í ╝│─í╟╤ ░µ┐∞
- <code>httpd.conf</code> ╝│┴ñ╞─└╧┐í └╓┤┬ │╗┐δ└╠┤┘. <directive
- module="mod_alias">ScriptAlias</directive> ┴÷╜├╛ε┤┬ <directive
- module="mod_alias">Alias</directive> ┴÷╜├╛ε┐═ ░░└╠ URL
- ╛╒║╬║╨└╗ ╞»┴ñ ╡≡╖║┼Σ╕«╖╬ ┤δ└└╟╤┤┘.
- <directive>Alias</directive>┐═
- <directive>ScriptAlias</directive>┤┬ ║╕┼δ <directive
- module="core">DocumentRoot</directive> ╡≡╖║┼Σ╕« ╣█┐í └╓┤┬
- ╡≡╖║┼Σ╕«┐í ╗τ┐δ╟╤┤┘. <directive>Alias</directive>┐═
- <directive>ScriptAlias</directive>└╟ ┬≈└╠┴í└║
- <directive>ScriptAlias</directive>░í ├▀░í╖╬ URL ╛╒║╬║╨└╕╖╬
- ╜├└█╟╧┤┬ ╕≡╡τ ╞─└╧└╗ CGI ╟┴╖╬▒╫╖Ñ└╕╖╬ ├δ▒▐╟╧┤┬ ┴í└╠┤┘.
- ▒╫╖í╝¡ └º└╟ ╝│┴ñ└║ ╛╞╞──í┐í░╘ <code>/cgi-bin/</code>└╕╖╬
- ╜├└█╟╧┤┬ └┌┐°└╗ ┐Σ├╗╟╧╕Θ
- <code>/usr/local/apache2/cgi-bin/</code> ╡≡╖║┼Σ╕«┐í╝¡
- ├ú╛╞╝¡ CGI ╟┴╖╬▒╫╖Ñ└╕╖╬ ├│╕«╟╧╢≤░φ ╛╦╕░┤┘.</p>
-
- <p>┐╣╕ª ╡Θ╛ε, URL
- <code>http://www.example.com/cgi-bin/test.pl</code>└╗
- ┐Σ├╗╟╧╕Θ ╛╞╞──í┤┬
- <code>/usr/local/apache2/cgi-bin/test.pl</code> ╞─└╧└╗
- ╜╟╟α╟╧┐⌐ ░ß░·╕ª ╣▌╚»╟╤┤┘. ╣░╖╨ ╞─└╧└╠ ┴╕└τ╟╧░φ ╜╟╟α░í┤╔╟╧╕τ
- ╛ε╢▓ ╣µ╣²└╕╖╬╡τ ├Γ╖┬└╗ ╟╪╛▀ ╟╤┤┘. ▒╫╖╕┴÷ ╛╩└╕╕Θ ╛╞╞──í┤┬
- ┐└╖∙╣«└╗ ║╕│╜┤┘.</p>
- </section>
-
- <section id="nonscriptalias">
- <title>ScriptAlias ╡≡╖║┼Σ╕« ╣█┐í └╓┤┬ CGI</title>
-
- <p>║╕┼δ ║╕╛╚╗≤ └╠└»╢º╣«┐í CGI ╟┴╖╬▒╫╖Ñ└║ <directive
- module="mod_alias">ScriptAlias</directive>╟╤ ╡≡╖║┼Σ╕«┐í
- ╟╤┴ñ╟╤┤┘. ▒╫╖í╝¡ ░ⁿ╕«└┌┤┬ ┤⌐░í CGI ╟┴╖╬▒╫╖Ñ└╗ ╗τ┐δ╟╥ ╝÷
- └╓┤┬┴÷ ╛÷░▌╚≈ ░¿╡╢╟╥ ╝÷ └╓┤┘. ▒╫╖»│¬ └√┤τ╟╤ ║╕╛╚┴╢─í╕ª
- ├δ╟▀┤┘╕Θ ╛╞╣½ ╡≡╖║┼Σ╕«┐í╝¡│¬ CGI ╟┴╖╬▒╫╖Ñ└╗ ╜╟╟α╟╧┴÷ ╛╩└╗
- └╠└»░í ╛°┤┘. ┐╣╕ª ╡Θ╛ε, <directive
- module="mod_userdir">UserDir</directive> ┴÷╜├╛ε╕ª ╗τ┐δ╟╧┐⌐
- ╗τ┐δ└┌░í └┌╜┼└╟ ╚¿╡≡╖║┼Σ╕«┐í └Ñ╞Σ└╠┴÷╕ª ░í┴÷┤┬ ░µ┐∞╕ª
- ░í┴ñ╟╧└┌. ╗τ┐δ└┌░í └┌╜┼└╟ CGI ╟┴╖╬▒╫╖Ñ└╗ ╗τ┐δ╟╧░φ ╜═└║╡Ñ
- <code>cgi-bin</code> ╡≡╖║┼Σ╕«┐í ┴ó▒┘▒╟╟╤└╠ ╛°┤┘╕Θ, ┤┘╕Ñ
- ░≈┐í╝¡╢≤╡╡ CGI ╟┴╖╬▒╫╖Ñ└╗ ╜╟╟α╟╧░φ ╜═└╗ ░═└╠┤┘.</p>
-
- <p>╛╞╣½ ╡≡╖║┼Σ╕«┐í╝¡│¬ CGI ╜╟╟α└╗ ╟π┐δ╟╧╖┴╕Θ ╡╬ ░·┴ñ└╠
- ╟╩┐Σ╟╧┤┘. ╕╒└·, <directive
- module="mod_mime">AddHandler</directive>│¬ <directive
- module="core">SetHandler</directive> ┴÷╜├╛ε╕ª ╗τ┐δ╟╧┐⌐
- <code>cgi-script</code> ╟┌╡Θ╖»╕ª └█╡┐╟╪╛▀ ╟╤┤┘. ╡╬╣°┬░╖╬,
- <directive module="core">Options</directive> ┴÷╜├╛ε┐í
- <code>ExecCGI</code>╕ª ┴÷┴ñ╟╪╛▀ ╟╤┤┘.</p>
- </section>
-
- <section id="options">
- <title>Options╕ª ╗τ┐δ╟╧┐⌐ ╕φ╜├└√└╕╖╬ CGI ╜╟╟α└╗ ╟π┐δ╟╧▒Γ</title>
-
- <p>╝¡╣÷└╟ ┴╓╝│┴ñ╞─└╧┐í ┴≈┴ó <directive
- module="core">Options</directive> ┴÷╜├╛ε╕ª ╗τ┐δ╟╧┐⌐ ╞»┴ñ
- ╡≡╖║┼Σ╕«┐í╝¡ CGI ╜╟╟α└╗ ╟π┐δ╟╥ ╝÷ └╓┤┘.</p>
-
- <example>
- <Directory /usr/local/apache2/htdocs/somedir><br />
- <indent>
- Options +ExecCGI<br />
- </indent>
- </Directory>
- </example>
-
- <p>└º ┴÷╜├╛ε╖╬ ╛╞╞──í┤┬ CGI ╞─└╧└╟ ╜╟╟α└╗ ╟π┐δ╟╤┤┘. ╛ε╢▓
- ╞─└╧└╠ CGI ╞─└╧└╬┴÷╡╡ ╝¡╣÷┐í░╘ ╛╦╖┴╛▀ ╟╤┤┘. ┤┘└╜ <directive
- module="mod_mime">AddHandler</directive> ┴÷╜├╛ε┤┬ ╝¡╣÷┐í░╘
- ╚«└σ└┌░í <code>cgi</code>│¬ <code>pl</code>└╬ ╞─└╧└║ ╕≡╡╬
- CGI ╟┴╖╬▒╫╖Ñ└╠╢≤░φ ╛╦╕░┤┘.</p>
-
- <example>
- AddHandler cgi-script .cgi .pl
- </example>
- </section>
-
- <section id="htaccess">
- <title>.htaccess ╞─└╧</title>
-
- <p><a href="htaccess.html"><code>.htaccess</code> ┼⌡┼Σ╕«╛≤</a>└║
- <code>httpd.conf</code>┐í ┴ó▒┘▒╟╟╤└╠ ╛°┤┬ ░µ┐∞┐í CGI ╟┴╖╬▒╫╖Ñ└╗
- ╗τ┐δ╟╥ ╝÷ └╓┤┬ ╣µ╣²└╗ ╛╦╖┴┴╪┤┘.</p>
- </section>
-
- <section id="userdir">
- <title>╗τ┐δ└┌ ╡≡╖║┼Σ╕«</title>
-
- <p>╛╞╖í ╝│┴ñ└╗ ╗τ┐δ╟╧╕Θ ╗τ┐δ└┌ ╡≡╖║┼Σ╕«┐í╝¡ <code>.cgi</code>╖╬
- │í│¬┤┬ ╞─└╧└╗ CGI ╟┴╖╬▒╫╖Ñ└╕╖╬ ╜╟╟α╟╤┤┘.</p>
-
- <example>
- <Directory /home/*/public_html><br/>
- <indent>
- Options +ExecCGI<br/>
- AddHandler cgi-script .cgi<br/>
- </indent>
- </Directory>
- </example>
-
- <p>┤┘└╜└╗ ╗τ┐δ╟╧╕Θ ╗τ┐δ└┌ ╡≡╖║┼Σ╕«└╟ <code>cgi-bin</code>
- ╟╧└º╡≡╖║┼Σ╕«┐í └╓┤┬ ╕≡╡τ ╞─└╧└╗ CGI ╟┴╖╬▒╫╖Ñ└╕╖╬ └╬╜─╟╤┤┘.</p>
-
- <example>
- <Directory /home/*/public_html/cgi-bin><br/>
- <indent>
- Options ExecCGI<br/>
- SetHandler cgi-script<br/>
- </indent>
- </Directory>
- </example>
-
- </section>
-
- </section>
-
- <section id="writing">
- <title>CGI ╟┴╖╬▒╫╖Ñ └█╝║╟╧▒Γ</title>
-
- <p>``└╧╣▌└√└╬'' ╟┴╖╬▒╫╖í╣╓░· CGI ╟┴╖╬▒╫╖í╣╓ ╗τ└╠┐í┤┬ ╡╬░í┴÷
- ┴╓╡╚ ┬≈└╠┴í└╠ └╓┤┘.</p>
-
- <p>├╣╣°┬░ ┬≈└╠┤┬ CGI ╟┴╖╬▒╫╖Ñ└║ ┤┘╕Ñ ├Γ╖┬└╗ ╟╧▒Γ└ⁿ┐í ╕╒└·
- MIME-type ╟∞┤⌡╕ª ├Γ╖┬╟╪╛▀ ╟╤┤┘┤┬ ┴í└╠┤┘. HTTP ╟∞┤⌡┤┬
- ┼¼╢≤└╠╛≡╞«┐í░╘ ┼¼╢≤└╠╛≡╞«░í ╛ε╢▓ │╗┐δ└╗ ╣▐░╘╡╔┴÷ ╣╠╕« ╛╦╕░┤┘.
- ║╕┼δ ┤┘└╜░· ░░┤┘.</p>
-
- <example>
- Content-type: text/html
- </example>
-
- <p>╡╬╣°┬░ ┬≈└╠┤┬ HTML ╚ñ└║ ║Ω╢≤┐∞└·░í ║╕┐⌐┴┘ ╝÷ └╓┤┬ ╟ⁿ╜─└╕╖╬
- ├Γ╖┬╟╪╛▀ ╟╤┤┘┤┬ ┴í└╠┤┘. ┤δ║╬║╨└╟ ░µ┐∞ HTML└╗ ├Γ╖┬╟╧┴÷╕╕,
- ╢º╢º╖╬ gif ▒╫╕▓░· ░░└╠ HTML└╠ ╛╞┤╤ │╗┐δ└╗ ├Γ╖┬╟╧┤┬ CGI
- ╟┴╖╬▒╫╖Ñ└╗ └█╝║╟╧┤┬ ░µ┐∞╡╡ └╓┤┘.</p>
-
- <p>╡╬░í┴÷╕ª ┴ª┐▄╟╧░φ┤┬ CGI ╟┴╖╬▒╫╖Ñ └█╝║└║ └╠╣╠ ╕╕╡Θ╛ε ║╕╛╥└╗
- ┤┘╕Ñ ╟┴╖╬▒╫╖Ñ╡Θ░· ╕┼┐∞ ║±╜┴╟╧┤┘.</p>
-
- <section id="firstcgi">
- <title>├│└╜└╕╖╬ ╕╕╡τ CGI ╟┴╖╬▒╫╖Ñ</title>
-
- <p>┤┘└╜└║ ║Ω╢≤┐∞└·┐í ╟╤ ┴┘└╗ ┬∩┤┬ CGI ╟┴╖╬▒╫╖Ñ ┐╣┴ª┤┘.
- ▒╫┤δ╖╬ <code>first.pl</code>└╠╢≤┤┬ ╞─└╧┐í └·└σ╟╧░φ,
- <code>cgi-bin</code> ╡≡╖║┼Σ╕«┐í ║╣╗τ╟╤┤┘.</p>
-
- <example>
- #!/usr/bin/perl<br />
- print "Content-type: text/html\n\n";<br />
- print "Hello, World.";
- </example>
-
- <p>Perl┐í └═╝≈╟╧┴÷ ╛╩┤⌡╢≤╡╡ ╣½╜╝ └╧└╠ └╧╛ε│¬┤┬┴÷ ╛╦ ╝÷
- └╓┤┘. ├╣╣°┬░ ┴┘└║ ╛╞╞──í(╚ñ└║ ╗τ┐δ╟╧┤┬ ╜⌐)┐í░╘
- <code>/usr/bin/perl</code> └º─í┐í └╓┤┬ └╬┼═╟┴╕«┼═└╗ ╗τ┐δ╟╧┐⌐
- └╠ ╟┴╖╬▒╫╖Ñ ╞─└╧└╗ ╜╟╟α╟╧╢≤░φ ╛╦╕░┤┘. ╡╬╣°┬░ ┴┘└║ ╣µ▒▌
- ╕╗╟╤ content-type ╝▒╛≡└╗ ├Γ╖┬╟╧░φ carriage-return ┴┘╣┘▓▐└╗
- ╡╬╣° ├Γ╖┬╟╤┤┘. ▒╫╖»╕Θ ╟∞┤⌡ ╡┌┐í HTTP ╟∞┤⌡└╟ │í└╗ ╢µ╟╧┤┬
- ║≤┴┘└╠ ╗²▒Γ░φ, ║╗╣«└╠ ╜├└█╟╤┤┘. ╝╝╣°┬░ ┴┘└║ "Hello, World."
- ╣«└┌┐¡└╗ ├Γ╖┬╟╤┤┘. └╠░═└╕╖╬ │í└╠┤┘.</p>
-
- <p>║Ω╢≤┐∞└·╕ª ╜╟╟α╟╧░φ ┴╓╝╥╕ª └╘╖┬╟╤┤┘</p>
-
- <example>
- http://www.example.com/cgi-bin/first.pl
- </example>
-
- <p>╞─└╧ └σ╝╥╕ª └╘╖┬╟╧╕Θ, ║Ω╢≤┐∞└·├ó┐í <code>Hello, World.</code>
- ╟╤ ┴┘└╠ ║╕└╬┤┘. ╚∩║╨╡╟┴÷┤┬ ╛╩┴÷╕╕, ╟╤╣° ╡┐└█╟╧┤┬ ░═└╗
- ║╕╛╥└╕┤╧ └╠┴ª ┤┘╕Ñ ░═└╗ ╜├╡╡╟╪ ║╝ ╝÷ └╓┤┘.</p>
- </section>
- </section>
-
- <section id="troubleshoot">
- <title>▒╫╖»│¬ ╛╞┴≈ ╡┐└█╟╧┴÷ ╛╩╛╞┐Σ!</title>
-
- <p>└Ñ┐í╝¡ CGI ╟┴╖╬▒╫╖Ñ┐í ┴ó▒┘╟╥╢º ║Ω╢≤┐∞└·┐í │¬┐├ ╝÷ └╓┤┬
- │╗┐δ└║ ▒Γ║╗└√└╕╖╬ │╫░í┴÷┤┘.</p>
-
- <dl>
- <dt>CGI ╟┴╖╬▒╫╖Ñ└╟ ├Γ╖┬</dt>
- <dd>┴┴┤┘! ╕≡╡τ ░═└╠ └▀ ╡┐└█╟╤┤┘┤┬ ╢µ└╠┤┘. ├Γ╖┬└║ ┴ñ╚«╟╧┴÷╕╕
- ║Ω╢≤┐∞└·░í ┐├╣┘╖╬ ├│╕«╟╧┴÷ ╕°╟╤┤┘╕Θ, CGI ╟┴╖╬▒╫╖Ñ┐í╝¡
- ┐├╣┘╕Ñ <code>Content-Type</code>└╗ ╝│┴ñ╟╧┐┤┤┬┴÷ ╚«└╬╟╤┤┘.</dd>
-
- <dt>CGI ╟┴╖╬▒╫╖Ñ ╝╥╜║─┌╡σ ╚ñ└║ "POST Method Not Allowed"
- ╣«▒╕</dt>
- <dd>CGI ╟┴╖╬▒╫╖Ñ└╗ ╜╟╟α╟╧╡╡╖╧ ╛╞╞──í╕ª └√└²╚≈ ╝│┴ñ╟╧┴÷
- ╛╩╛╥┤┘┤┬ ╢µ└╠┤┘. <a href="#configuring">╛╞╞──í ╝│┴ñ╟╧▒Γ</a>
- └²└╗ ┤┘╜├ └╨░φ ╗⌐╕╘└║ ║╬║╨└╠ └╓┤┬┴÷ ├ú╛╞║┴╢≤.</dd>
-
- <dt>"Forbidden"└╕╖╬ ╜├└█╟╧┤┬ ╣«▒╕</dt>
- <dd>▒╟╟╤ ╣«┴ª░í └╓┤┘┤┬ ╢µ└╠┤┘. <a href="#errorlogs">╛╞╞──í
- ┐└╖∙ ╖╬▒╫</a>┐═ ╛╞╖í <a href="#permissions">╞─└╧▒╟╟╤</a>
- └²└╗ ╚«└╬╟╧╢≤.</dd>
-
- <dt>"Internal Server Error"╢≤┤┬ ╣«▒╕</dt>
- <dd><a href="#errorlogs">╛╞╞──í ┐└╖∙ ╖╬▒╫</a>╕ª ║╕╕Θ ╛╞╕╢╡╡
- CGI ╟┴╖╬▒╫╖Ñ└╠ ├Γ╖┬╟╤ ┐└╖∙╣«░· ╟╘▓▓ "Premature end of
- script headers"░í ║╕└╧ ░═└╠┤┘. └╠ ░µ┐∞ ╛╞╖í │╗┐δ╡Θ└╗ ╟╧│¬╛┐
- ╚«└╬╟╧┐⌐ ╛ε╢▓ └╠└»╖╬ CGI ╟┴╖╬▒╫╖Ñ└╠ └√└²╟╤ HTTP ╟∞┤⌡╕ª
- ├Γ╖┬╟╧┴÷ ╕°╟▀┤┬┴÷ ╛╦╛╞║╗┤┘.</dd>
- </dl>
-
- <section id="permissions">
- <title>╞─└╧▒╟╟╤</title>
-
- <p>╝¡╣÷┤┬ ┤τ╜┼░· ╡┐└╧╟╤ ░Φ┴ñ└╕╖╬ ╡┐└█╟╧┴÷ ╛╩└╜└╗ ╕φ╜╔╟╧╢≤.
- ┴∩, ╝¡╣÷░í ╜├└█╟╧╕Θ ╝¡╣÷┤┬ ║±╞»▒╟ ╗τ┐δ└┌ ▒╟╟╤(║╕┼δ
- <code>nobody</code>│¬ <code>www</code>)└╕╖╬ ╡┐└█╟╤┤┘.
- ▒╫╖í╝¡ ┤τ╜┼└╠ ╝╥└»╟╤ ╞─└╧└╗ ╜╟╟α╟╧╖┴╕Θ ▒╟╟╤└╠ ╟╩┐Σ╟╧┤┘.
- ╞─└╧┐í <code>nobody</code>░í ╜╟╟α╟╧▒Γ┐í ├µ║╨╟╤ ▒╟╟╤└╗
- ┴╓▒Γ└º╟╪ ║╕┼δ ╕≡╡╬┐í░╘ ╞─└╧└╟ ╜╟╟α ▒╟╟╤└╗ ┴╪┤┘.</p>
-
- <example>
- chmod a+x first.pl
- </example>
-
- <p>╢╟, ╟┴╖╬▒╫╖Ñ└╠ ┤┘╕Ñ ╞─└╧└╗ └╨░┼│¬ ╛┤┤┘╕Θ └╠ ╞─└╧┐í╡╡
- └√└²╟╤ ▒╟╟╤└╠ ╟╩┐Σ╟╧┤┘.</p>
-
- </section>
-
- <section id="pathinformation">
- <title>░µ╖╬ ┴ñ║╕┐═ ╚»░µ</title>
-
- <p>╕φ╖╔╟α┐í╝¡ ╟┴╖╬▒╫╖Ñ└╗ ╜╟╟α╟╧╕Θ └┌╡┐└╕╖╬ ╛ε╢▓ ┴ñ║╕░í
- ╜⌐╖╬ └ⁿ┤▐╡╚┤┘. ┐╣╕ª ╡Θ╛ε, <code>PATH</code>┤┬ ╜⌐┐í░╘ ┤τ╜┼└╠
- ╕╗╟╤ ╞─└╧└╗ ├ú└╗ └σ╝╥╕ª ╛╦╖┴┴╪┤┘.</p>
-
- <p>└Ñ╝¡╣÷░í ╟┴╖╬▒╫╖Ñ└╗ CGI ╟┴╖╬▒╫╖Ñ└╕╖╬ ╜╟╟α╟╥╢º┤┬
- <code>PATH</code>░í ┤┘╕ª ╝÷ └╓┤┘. (┐╣╕ª ╡Θ╛ε,
- <code>sendmail</code> ░░└╠) CGI ╟┴╖╬▒╫╖Ñ ╛╚┐í╝¡ ╜╟╟α╟╧┤┬
- ╕φ╖╔╛ε┤┬ ┐╧└ⁿ╟╤ ░µ╖╬╖╬ ╕φ╜├╟╪╛▀ ╜⌐└╠ ╕φ╖╔╛ε╕ª ├ú└╗ ╝÷
- └╓┤┘.</p>
-
- <p>░µ╖╬ ╣«┴ª┤┬ ┤┘└╜░· ░░└╠ CGI ╟┴╖╬▒╫╖Ñ ├╣╣°┬░ ┴┘┐í │¬┐└┤┬
- ╜║┼⌐╕│╞« └╬┼═╟┴╕«┼═ (║╕┼δ <code>perl</code>) ░µ╖╬┐í╝¡
- └┌┴╓ ╣▀╗²╟╤┤┘.</p>
-
- <example>
- #!/usr/bin/perl
- </example>
-
- <p>╜╟┴ª╖╬ └╬┼═╟┴╕«┼═└╟ ░µ╖╬└╬┴÷ ╚«└╬╟╤┤┘.</p>
-
- <p>╢╟, CGI ╟┴╖╬▒╫╖Ñ└╠ ┤┘╕Ñ <a href="#env">╚»░µ║»╝÷</a>╕ª
- ╗τ┐δ╟╤┤┘╕Θ ╛╞╞──í░í └╠ ║»╝÷╡Θ└╗ ╟┴╖╬▒╫╖Ñ┐í░╘ └ⁿ┤▐╟╪╛▀
- ╟╤┤┘.</p>
-
- </section>
-
- <section id="syntaxerrors">
- <title>╟┴╖╬▒╫╖Ñ ┐└╖∙</title>
-
- <p>CGI ╟┴╖╬▒╫╖Ñ└╠ ╜╟╞╨╟╧┤┬ ░µ┐∞ ┤δ║╬║╨ ╟┴╖╬▒╫╖Ñ └┌├╝
- ╣«┴ª╢º╣«└╠┤┘. ╞»╚≈ └º└╟ ╡╬░í┴÷ ╜╟╝÷╕ª ╟╧┴÷ ╛╩╛╥░φ └╠ ▒█└╗
- ░Φ╝╙ ║╕░φ └╓┤┘╕Θ ┤⌡┤⌡┐φ ▒╫╖╕┤┘. ╕╒└· └Ñ╝¡╣÷┐í╝¡ ╜╟╟α╟╧▒Γ
- └ⁿ┐í ╕φ╖╔╟α┐í╝¡ ╟┴╖╬▒╫╖Ñ└╗ ╜╟╟α╟╪║╗┤┘. ┐╣╕ª ╡Θ╛ε, ┤┘└╜░·
- ░░└╠ ╜╟╟α╟╤┤┘.</p>
-
- <example>
- cd /usr/local/apache2/cgi-bin<br/>
- ./first.pl
- </example>
-
- <p>(<code>perl</code> └╬┼═╟┴╕«┼═╕ª ╜╟╟α╟╧┴÷ ╕╢╢≤. ╜⌐░·
- ╛╞╞──í┤┬ ╜║┼⌐╕│╞« ├╣╣°┬░ ┴┘┐í └╓┤┬ <a
- href="#pathinformation">░µ╖╬ ┴ñ║╕</a>╕ª ╗τ┐δ╟╧┐⌐ └╬┼═╟┴╕«┼═╕ª
- ├ú╛╞╛▀ ╟╤┤┘.)</p>
-
- <p>╟┴╖╬▒╫╖Ñ└║ ┴ª└╧ ╕╒└· <code>Content-Type</code>└╗ ╞≈╟╘╟╤
- HTTP ╟∞┤⌡╡Θ└╗ ├Γ╖┬╟╧░φ ║≤ ┴┘└╗ ├Γ╖┬╟╪╛▀ ╟╤┤┘. ┤┘╕Ñ ░═└╗
- ├Γ╖┬╟╤┤┘╕Θ └Ñ╝¡╣÷┐í╝¡ ╜╟╟α╟╥ ░µ┐∞ ╛╞╞──í┤┬ <code>Premature
- end of script headers</code>╕ª ╣▌╚»╟╤┤┘. └┌╝╝╟╤ │╗┐δ└║
- └º└╟ <a href="#writing">CGI ╟┴╖╬▒╫╖Ñ └█╝║╟╧▒Γ</a>╕ª ┬ⁿ░φ╟╧╢≤.</p>
- </section>
-
- <section id="errorlogs">
- <title>┐└╖∙ ╖╬▒╫</title>
-
- <p>┐└╖∙ ╖╬▒╫┤┬ ┤τ╜┼ ╞φ└╠┤┘. ╣½╛≡░í └▀╕°╡╟╕Θ ┐└╖∙ ╖╬▒╫┐í
- ╣«▒╕░í ╗²▒Σ┤┘. ┐└╖∙ ╖╬▒╫╕ª ┴ª└╧ ╕╒└· ╗∞╞∞║┴╛▀ ╟╤┤┘. └Ñ╗τ└╠╞«╕ª
- ╚ú╜║╞├╟╧┤┬ ░≈┐í╝¡ ┐└╖∙ ╖╬▒╫╕ª ║╕┴÷ ╕°╟╧░╘ ╟╤┤┘╕Θ, ╛╞╕╢╡╡
- ┤┘╕Ñ ╛≈├╝╕ª ╛╦╛╞║┴╛▀ ╟╤┤┘. ┐└╖∙ ╖╬▒╫╕ª ║╕┤┬ ╣µ╣²└╗ └═╚≈╕Θ,
- ┤δ║╬║╨└╟ ╣«┴ª╕ª ╗í╕« ╞─╛╟╟╧┐⌐ ╟╪░ß╟╥ ╝÷ └╓┤┘.</p>
- </section>
-
- <section id="suexec">
- <title>Suexec</title>
-
- <p><a href="../suexec.html">suexec</a> ┴÷┐° ╟┴╖╬▒╫╖Ñ└╗
- ╗τ┐δ╟╧╕Θ ╛ε╢▓ ░í╗≤╚ú╜║╞« ╚ñ└║ ╛ε╢▓ ╗τ┐δ└┌ ╡≡╖║┼Σ╕«┐í └╓┤┬┴÷┐í
- ╡√╢≤ CGI ╟┴╖╬▒╫╖Ñ└╗ ┤┘╕Ñ ╗τ┐δ└┌ ▒╟╟╤└╕╖╬ ╜╟╟α╟╥ ╝÷ └╓┤┘.
- Suexec┤┬ ╕┼┐∞ ╛÷░▌╟╧░╘ ▒╟╟╤└╗ ░╦╗τ╟╧╕τ, ░╦╗τ╕ª ╟╧│¬╢≤╡╡
- ┼δ░·╟╧┴÷ ╕°╟╧╕Θ CGI ╟┴╖╬▒╫╖Ñ└╗ ╜╟╟α╟╧┴÷ ╛╩░φ <code>Premature
- end of script headers</code>╕ª ╣▌╚»╟╤┤┘.</p>
-
- <p>suexec╕ª ╗τ┐δ╟╧░φ └╓┤┬┴÷ ╛╦╖┴╕Θ <code>apachectl -V</code>╕ª
- ╜╟╟α╟╧┐⌐ <code>SUEXEC_BIN</code> └º─í╕ª ╚«└╬╟╤┤┘. ╛╞╞──í░í
- ╜├└█╟╥╢º ▒╫ └σ╝╥┐í╝¡ suexec ╜╟╟α╞─└╧└╗ ╣▀░▀╟╧╕Θ, suexec╕ª
- ╗τ┐δ╟╥ ╝÷ └╓┤┘.</p>
-
- <p>suexec╕ª ┐╧└ⁿ╚≈ └╠╟╪╟╧┴÷ ╕°╟▀┤┘╕Θ ╗τ┐δ╟╪╝¡┤┬ ╛╚╡╚┤┘.
- suexec╕ª ╗τ┐δ╟╧┴÷ ╛╩└╕╖┴╕Θ <code>SUEXEC_BIN</code> └º─í┐í
- └╓┤┬ <code>suexec</code> ╜╟╟α╞─└╧└╗ ┴÷┐∞░φ (╚ñ└║ ╞─└╧╕φ└╗
- ╣┘▓┘░φ) ╝¡╣÷╕ª └τ╜├└█╟╧╕Θ ╡╚┤┘. <a
- href="../suexec.html">suexec</a>┐í ┤δ╟╪ └╨└║ ┤┘└╜ ▒╫╖í╡╡
- ╗τ┐δ╟╧░φ ╜═┤┘╕Θ, <code>suexec -V</code>╕ª ╜╟╟α╟╧┐⌐ suexec
- ╖╬▒╫╞─└╧ └º─í╕ª ╛╦╛╞│╗░φ ╖╬▒╫╞─└╧┐í╝¡ ┤τ╜┼└╠ ╛ε╢▓ ▒╘─ó└╗
- ╛ε▒Γ░φ └╓┤┬┴÷ ├ú┤┬┤┘.</p>
- </section>
- </section>
-
- <section id="behindscenes">
- <title>╡┌┐í╝¡┤┬ ╣½╜╝ └╧└╠ ╣·╛ε┴÷┤┬░í?</title>
-
- <p>CGI ╟┴╖╬▒╫╖í╣╓┐í └═╝≈╟╪┴·╝÷╖╧ ╡┌┐í╝¡ ╣·╛ε┴÷┤┬ └╧└╗ └╠╟╪╟╧╕Θ
- ╡╡┐≥└╠ ╡╚┤┘. ▒╕├╝└√└╕╖╬ ║Ω╢≤┐∞└·┐═ ╝¡╣÷░í ╝¡╖╬ ┼δ╜┼╟╧┤┬
- ╣µ╣²└╗ ╕╗╟╧┤┬ ░═└╠┤┘. ╕⌠╢≤╡╡ "Hello, World."╕ª ├Γ╖┬╟╧┤┬
- ╟┴╖╬▒╫╖Ñ└╗ └█╝║╟╥ ╝÷ └╓┴÷╕╕ └╠╖▒ ╟┴╖╬▒╫╖Ñ└║ ║░╖╬ ╛╡╕≡░í
- ╛°▒Γ╢º╣«└╠┤┘.</p>
-
- <section id="env">
- <title>╚»░µ║»╝÷</title>
-
- <p>╚»░µ║»╝÷┤┬ ┤τ╜┼└╠ ──╟╗┼═╕ª ╗τ┐δ╟╧┤┬ ╡┐╛╚ ┤τ╜┼ ┴╓└º╕ª
- ╢░┤┘┤╧┤┬ ░¬└╠┤┘. ╚»░µ║»╝÷┤┬ path (──╟╗┼═░í ┤τ╜┼└╠ └╘╖┬╟╤
- ╕φ╖╔╛ε┐í ╟╪┤τ╟╧┤┬ ╜╟┴ª ╞─└╧└╗ ├ú┤┬ └σ╝╥), ╗τ┐δ└┌╕φ, ┼═╣╠│╬
- ┴╛╖∙┐═ ░░└╠ └»┐δ╟╤ ┴ñ║╕┤┘. └╧╣▌└√└╬ ╚»░µ║»╝÷╕ª ╕≡╡╬ ║╕╖┴╕Θ
- ╕φ╖╔╟α ╟┴╖╥╟┴╞«┐í╝¡ <code>env</code>╕ª └╘╖┬╟╤┤┘.</p>
-
- <p>CGI╕ª ╜╟╟α╟╥╢º╡╡ ╝¡╣÷┐═ ║Ω╢≤┐∞└·┤┬ ░ó└┌└╟ ╚»░µ║»╝÷╕ª
- ╝¡╖╬ ▒│╚»╟╤┤┘. └╠ ┴ñ║╕┐í┤┬ ║Ω╢≤┐∞└· ┴╛╖∙ (Netscape, IE,
- Lynx), ╝¡╣÷ ┴╛╖∙ (╛╞╞──í, IIS, WebSite), ╜╟╟α╟╧┤┬ CGI
- ╟┴╖╬▒╫╖Ñ╕φ ╡ε└╠ └╓┤┘.</p>
-
- <p>CGI ╟┴╖╬▒╫╖í╕╙┤┬ └╠╖▒ ║»╝÷╡Θ└╗ ╗τ┐δ╟╥ ╝÷ └╓░φ,
- ╚»░µ║»╝÷┤┬ ┼¼╢≤└╠╛≡╞«-╝¡╣÷ ┼δ╜┼┐í┤┬ └╧║╬║╨└╗ ┬≈┴÷╟╤┤┘.
- └ⁿ├╝ ╟╩╝÷ ║»╝÷ ╕±╖╧└║ <a
- href="http://hoohoo.ncsa.uiuc.edu/cgi/env.html"
- >http://hoohoo.ncsa.uiuc.edu/cgi/env.html</a>┐í └╓┤┘.</p>
-
- <p>╛╞╖í ░ú┤▄╟╤ Perl CGI ╟┴╖╬▒╫╖Ñ└║ └┌╜┼┐í░╘ └ⁿ┤▐╡╚ ╕≡╡τ
- ╚»░µ║»╝÷╕ª ║╕┐⌐┴╪┤┘. ╛╞╞──í ╣Φ╞≈║╗└╟ <code>cgi-bin</code>
- ╡≡╖║┼Σ╕«┐í └╠┐═ ║±╜┴╟╤ ╟┴╖╬▒╫╖Ñ└╠ ╡╬░│ └╓┤┘. ╕ε╕ε ║»╝÷┤┬
- ╟╩╝÷└╠░φ │¬╕╙┴÷┤┬ ╝▒┼├└√└╠┤┘. ▒╫╖í╝¡ ░°╜─ ╕±╖╧┐í ╛°┤┬
- ║»╝÷╡╡ ║╕└╬┤┘. ╢╟, ╛╞╞──í┤┬ ▒Γ║╗└√└╕╖╬ ┴ª░°╟╧┤┬ ╚»░µ║»╝÷
- ┐▄┐í ┐⌐╖»░í┴÷ ╣µ╣²└╕╖╬ <a href="../env.html">┴≈┴ó ╚»░µ║»╝÷╕ª
- ├▀░í╟╥ ╝÷ └╓┤┘</a>.</p>
-
- <example>
- #!/usr/bin/perl<br />
- print "Content-type: text/html\n\n";<br />
- foreach $key (keys %ENV) {<br />
- <indent>
- print "$key --> $ENV{$key}<br>";<br />
- </indent>
- }
- </example>
- </section>
-
- <section id="stdin">
- <title>STDIN░· STDOUT</title>
-
- <p>╢╟, ╝¡╣÷┐═ ┼¼╢≤└╠╛≡╞«┤┬ ╟Ñ┴╪└╘╖┬(<code>STDIN</code>)░·
- ╟Ñ┴╪├Γ╖┬(<code>STDOUT</code>)└╕╖╬ ┼δ╜┼╟╤┤┘. └╧╗≤└√└╬ ░µ┐∞
- <code>STDIN</code>└║ ┼░║╕╡σ│¬ ╟┴╖╬▒╫╖Ñ└╠ ├│╕«╟╧┤┬ ╞─└╧└╗
- │¬┼╕│╗░φ, <code>STDOUT</code>└║ ║╕┼δ ─▄╝╓└╠│¬ ╚¡╕Θ└╗ ╢µ╟╤┤┘.</p>
-
- <p>CGI ╟┴╖╬▒╫╖Ñ┐í░╘ └Ñ ╛τ╜─(form)└╗ <code>POST</code>╟╧╕Θ
- ╛τ╜─┐í └╘╖┬╟╤ └┌╖ß╕ª ╞»║░╟╤ ╟ⁿ╜─└╕╖╬ ╣¡╛ε╝¡ CGI ╟┴╖╬▒╫╖Ñ└╟
- <code>STDIN</code>└╕╖╬ └ⁿ┤▐╟╤┤┘. ▒╫╖»╕Θ ╟┴╖╬▒╫╖Ñ└║ ┼░║╕╡σ│¬
- ╞─└╧┐í╝¡ ╛≥└║ └┌╖ß╕ª ├│╕«╟╧╡φ└╠ └┌╖ß╕ª ├│╕«╟╥ ╝÷ └╓┤┘.</p>
-
- <p>"╞»║░╟╤ ╟ⁿ╜─"└║ ╕┼┐∞ ░ú┤▄╟╧┤┘. ╟╫╕± └╠╕º░· ░¬└╗ ╡ε╚ú(=)╖╬
- ┐¼░ß╟╧░φ, ╟╫╕± └╠╕º░· ░¬└╟ ╜╓╡Θ└╗ ╝¡╖╬ ╛╪╞█╗≈╡σ(&)╖╬
- ┐¼░ß╟╤┤┘. ░°╣Θ, ╛┌╞█╗≈╡σ, ╡ε╚ú ░░└║ ║╬└┌┐¼╜║╖»┐ε ╣«└┌┤┬
- ╚Ñ╡┐╟╧┴÷ ╛╩╡╡╖╧ 16┴°╝÷╖╬ ║»╚»╟╤┤┘. ┐╧└ⁿ╟╤ └┌╖ß ╣«└┌┐¡└║
- ┤┘└╜░· ░░└╠ ╗²░σ┤┘.</p>
-
- <example>
- name=Rich%20Bowen&city=Lexington&state=KY&sidekick=Squirrel%20Monkey
- </example>
-
- <p>┴╛┴╛ URL ╡┌┐í╝¡ └╠╖▒ ╣«└┌┐¡└╗ ║╕░╘ ╡╚┤┘. └╠ ░µ┐∞ ╝¡╣÷┤┬
- ╣«└┌┐¡└╗ <code>QUERY_STRING</code>└╠╢≤┤┬ ╚»░µ║»╝÷┐í └·└σ╟╤┤┘.
- └╠╕ª <code>GET</code> ┐Σ├╗└╠╢≤░φ ╟╤┤┘. <code>FORM</code>
- ┼┬▒╫└╟ <code>METHOD</code> ╝╙╝║└╗ ┴÷┴ñ╟╧┐⌐ HTML ╛τ╜─(form)└╠
- └┌╖ß╕ª <code>GET</code>╟╥┴÷ <code>POST</code>╟╥┴÷ ░ß┴ñ╟╤┤┘.</p>
-
- <p>└╠┴ª ╟┴╖╬▒╫╖Ñ└║ └╠╖▒ ╣«└┌┐¡└╗ └»┐δ╟╤ ┴ñ║╕╖╬ ┬╔░│╛▀
- ╟╤┤┘. ┤┘╟α╚≈╡╡ └╠╖▒ └┌╖ß ├│╕«╕ª ╡╜░φ CGI ╟┴╖╬▒╫╖Ñ└╟ ┤┘╕Ñ
- ┐⌐╖» ╕Θ└╗ ╗∞╟╟┤┬ ╢≤└╠║Ω╖»╕«┐═ ╕≡╡Γ╡Θ└╠ └╓┤┘.</p>
- </section>
- </section>
-
- <section id="libraries">
- <title>CGI ╕≡╡Γ/╢≤└╠║Ω╖»╕«</title>
-
- <p>CGI ╟┴╖╬▒╫╖Ñ└╗ └█╝║╟╥╢º ┴÷╖τ╟╤ └█╛≈└╗ ┤δ╜┼╟╪┴╓┤┬ ─┌╡σ
- ╢≤└╠║Ω╖»╕« ╚ñ└║ ╕≡╡Γ└╗ ╗τ┐δ╟╥┴÷ ░φ╖┴╟╪║┴╛▀ ╟╤┤┘. └╠╖▒ ░═└╗
- ╗τ┐δ╟╧╕Θ ╣÷▒╫░í ┴┘░φ ┤⌡ ╗í╕« ╟┴╖╬▒╫╖Ñ└╗ ░│╣▀╟╥ ╝÷ └╓┤┘.</p>
-
- <p>Perl╖╬ CGI ╟┴╖╬▒╫╖Ñ└╗ └█╝║╟╤┤┘╕Θ <a
- href="http://www.cpan.org/">CPAN</a>┐í╝¡ ░ⁿ╖├ ╕≡╡Γ╡Θ└╗ ├ú└╗
- ╝÷ └╓┤┘. CGI ░│╣▀┐í ░í└σ │╬╕« ╗τ┐δ╡╟┤┬ ╕≡╡Γ└║
- <code>CGI.pm</code>└╠┤┘. ┤δ║╬║╨└╟ ╟┴╖╬▒╫╖Ñ┐í ├µ║╨╟╤ ├╓╝╥
- ▒Γ┤╔└╗ ▒╕╟÷╟╤ <code>CGI::Lite</code>╡╡ ░φ╖┴╟╪ ║╝ ╝÷ └╓┤┘.</p>
-
- <p>C╖╬ CGI ╟┴╖╬▒╫╖Ñ└╗ └█╝║╟╤┤┘╕Θ ╝▒┼├└╟ ┐⌐┴÷░í ╕╣┤┘. └╠┴▀
- ╟╧│¬░í <a
- href="http://www.boutell.com/cgic/">http://www.boutell.com/cgic/</a>┐í
- └╓┤┬ <code>CGIC</code> ╢≤└╠║Ω╖»╕«┤┘.</p>
- </section>
-
- <section id="moreinfo">
- <title>┤⌡ ╕╣└║ ┴ñ║╕...</title>
-
- <p>└Ñ┐í ╕┼┐∞ ╕╣└║ CGI ┴ñ║╕░í └╓┤┘. ┤║╜║▒╫╖∞ <a
- href="news:comp.infosystems.www.authoring.cgi"
- >comp.infosystems.www.authoring.cgi</a>┐í╝¡ ┐⌐╖» ╗τ╢≈╡Θ░·
- CGI ╣«┴ª╕ª │φ└╟╟╥ ╝÷ └╓┤┘. HTML Writers Guild└╟ -servers
- ╕▐└╧╕╡╕«╜║╞«┤┬ ┴·╣«┐í ┤δ╟╤ ┤Σ└╗ ├ú▒Γ┐í ╚╟╕ó╟╤ └σ╝╥┤┘. <a
- href="http://www.hwg.org/lists/hwg-servers/"
- >http://www.hwg.org/lists/hwg-servers/</a>┐í╝¡ ┤⌡ ╕╣└║ ░═└╗
- ╛╦ ╝÷ └╓┤┘.</p>
-
- <p>▒╫╕«░φ ╣░╖╨ CGI ╟┴╖╬▒╫╖Ñ ╡┐└█┐í ┤δ╟╤ ╕≡╡τ │╗┐δ└╗ ╝│╕φ╟╤
- CGI ▒╘╛α└╗ └╨╛ε╛▀ ╟╥┴÷╡╡ ╕≡╕Ñ┤┘. <a
- href="http://hoohoo.ncsa.uiuc.edu/cgi/interface.html">NCSA</a>┐í
- ┐°║╗ ╣«╝¡░í └╓░φ, ╝÷┴ñ╟╤ ├╩╛╚└║ <a
- href="http://web.golux.com/coar/cgi/">Common Gateway Interface
- RFC ╟┴╖╬┴º╞«</a>┐í └╓┤┘.</p>
-
- <p>╕▐└╧╕╡╕«╜║╞«│¬ ┤║╜║▒╫╖∞┐í ╟÷└τ ░▌░φ └╓┤┬ CGI ╣«┴ª┐í ┤δ╟╪
- ┴·╣«╟╥╢º┤┬ ╣▀╗²╟╤ ╟÷╗≤░· ┐°╖í ▒Γ┤δ╟╤ ░ß░·, ╜╟┴ª╖╬ ╣▀╗²╟╤
- ╟÷╗≤└╠ ╛ε╢╗░╘ ┤┘╕Ñ┴÷, ╗τ┐δ╟╧┤┬ ╝¡╣÷, CGI ╟┴╖╬▒╫╖Ñ└╗ └█╝║╟╤
- ╛≡╛ε, ░í┤╔╟╧╕Θ ╟╪┤τ ─┌╡σ╕ª └┌╝╝╚≈ └√╛ε╢≤. ▒╫╖»╕Θ ╟╪░ß├Ñ└╗
- ├ú▒Γ ╜¼┐÷┴°┤┘.</p>
-
- <p>╛╞╞──í ╝╥╜║─┌╡σ░í └▀╕°╡╟╛·┤┘░φ ╚«╜┼╟╧┴÷ ╛╩┤┬ ╟╤ CGI ┴·╣«└╗
- ╛╞╞──í ╣÷▒╫ ╡Ñ└╠┼═║ú└╠╜║┐í ┐├╕«╕Θ <strong>└²┤δ╖╬</strong>
- ╛╚╡╚┤┘.</p>
- </section>
- </manualpage>
-
-